package com.jy.api.misc.dto;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.ToStringSerializer;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;


@Data
public class ShuJuYuanDto {


    @JSONField(serializeUsing = ToStringSerializer.class)
    private Long id;

    @ApiModelProperty("数据元标识符")
    @NotBlank(message = "业务标识符不能为空")
    private String biaoShiFu;

    @ApiModelProperty("数据元名称")
    @NotBlank(message = "名称不能为空")
    private String name;

    @ApiModelProperty("定义")
    private String dingYi;

    @ApiModelProperty("数据类型")
    @NotBlank(message = "数据类型不能为空")
    private String shuJuLX;

    @ApiModelProperty("表示格式")
    @NotBlank(message = "表示格式不能为空")
    private String geShi;

    @ApiModelProperty("取值范围(值域)名称")
    private String quZhiFWMC;

    @ApiModelProperty("取值范围表(值域)的  标识符")
    private String quZhiFWID;

    @ApiModelProperty("来源文件ID")
    private String laiYuanWJID;

    @ApiModelProperty("来源文件的名称")
    private String laiYuanWJMC;

    @ApiModelProperty("状态。1：草稿，2：使用，3：作废")
    @NotNull(message = "状态不能为空")
    private Integer status;

    @ApiModelProperty("版本")
    private String banBen;

    @ApiModelProperty("注册机构")
    private String zhuCeJG;

    @ApiModelProperty("相关环境")
    private String xiangGuanHJ;

    @ApiModelProperty("分类模式")
    private String fenLeiMS;

    @ApiModelProperty("主管机构")
    private String zhuGuanJG;

    @ApiModelProperty("注册状态")
    private String zhuCeZT;

    @ApiModelProperty("提交机构")
    private String tiJiaoJG;

    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date chuangJianSJ;

    @ApiModelProperty("创建人")
    @NotBlank(message="创建人不能为空")
    private String chuangJianRen;

    @NotBlank(message="创建人ID不能为空")
    private String chuangJianRId;

    @ApiModelProperty("修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date xiuGaiSJ;

}
